Soru & Cevap

Unity push notification - link ve resim göndermek?

29.03.2017 - 04:01

Unity üzerinde kodlama yapıyorum. Firebase ile push notification yapıyorum sorun yok. Ama biliyorsunuz bildirimlerde sadece mesaj gidiyor ve resim görünmüyor. Benim istediğim bildirimle birlikte resim ve url göndermek. Bildirimde resim görünecek ve bildirime tıkladığı zaman linkin gönderdiği adrese gidecek(GooglePlay, browser vs.). Nasıl bir kod yazmalıyım veye Unity'de Firebase ile gönderilen bildirimle gelen değerleri nasıl alabilirim?

Herkese iyi çalışmalar.

19 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user gmyucalfarukeren
gmyucalfarukeren
22.02.2023 - 01:48

Merhaba! Firebase ile push notification yapmak için Unity kullanıyorsunuz ve bildirimde resim ve URL göstermek istiyorsunuz. Bunun için Firebase Cloud Messaging (FCM) servisini kullanabilirsiniz

Öncelikle, FCM ile bir bildirim göndermek için şu adımları takip etmeniz gerekir

  1. Firebase Console'da bir proje oluşturun ve proje ayarlarında "Cloud Messaging" sekmesine gidin

  2. "Geliştirme ve üretim anahtarları" altında, bir "sunucu anahtarı" oluşturun ve bu anahtarı Unity'de kullanmak üzere kopyalayın

  3. Unity'de, Firebase SDK'yı projenize ekleyin ve gerekli ayarları yapılandırın. Bu adımların ayrıntılı bir açıklaması için Firebase dokümantasyonuna bakabilirsiniz

  4. FCM API'sini kullanarak bildirimi göndermek için, Unity'de bir HTTP POST isteği yapmanız gerekiyor. İsteğinizi JSON formatında oluşturun ve aşağıdaki örnek gibi "notification" nesnesine "title", "body", "image" ve "click_action" özelliklerini ekleyin

{
  "to": "<FCM token or topic>",
  "notification": {
    "title": "Başlık",
    "body": "Mesaj İçeriği",
    "image": "https://farukeren.com/image.png",
    "click_action": "https://farukeren.com"
  }
}

 

  1. Bu isteği Unity'de C# kodu kullanarak gönderin. İsteği göndermek için bir HTTP istemci kullanabilirsiniz. Aşağıdaki örnek, Unity'de System.Net.Http.HttpClient kullanarak HTTP POST isteği gönderir
using System;
using System.Net.Http;
using System.Threading.Tasks;

public class FirebaseMessaging
{
    private const string FirebaseServerKey = "<your Firebase server key>";

    public async Task SendNotification(string deviceToken, string title, string body, string imageUrl, string clickUrl)
    {
        var client = new HttpClient();
        client.BaseAddress = new Uri("https://fcm.googleapis.com");
        client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
        client.DefaultRequestHeaders.TryAddWithoutValidation("Authorization", "key=" + FirebaseServerKey);

        var message = new
        {
            to = deviceToken,
            notification = new
            {
                title = title,
                body = body,
                image = imageUrl,
                click_action = clickUrl
            }
        };

        var response = await client.PostAsJsonAsync("/fcm/send", message);
        response.EnsureSuccessStatusCode();
    }
}